﻿#ifndef TO_EXE_SWI_H
#define TO_EXE_SWI_H

#include "stability_analysis.h"
#include <BPAFilesIO.h>

class SwiCalculate
{
public:
    SwiCalculate(std::string swi_filename, std::string dat_filename);
    ~SwiCalculate();

    int LineFaultCreate(const std::vector <std::string>& ZoneName, double volmin, double volmax);

    // 应包含的参数
    // 1.文件名，2.数据库名 3.故障类型 3.1 故障范围
    // 4.故障开始时间 5.故障结束时间 6.前侧跳开时间
    // 7.后侧跳开时间 8.直流故障时间 9.切负荷时间
    int Calculate(const SwiBatchParameter& Batchpara);

private:
    bool break_cycle = false;

    // 默认BSE文件与潮流文件在同一目录
    int CallSwnt(std::string filename, std::string basename);

};

#endif
